Please read carefully the "Software License" document before installing this driver. Also, please read the "Usage" and "Version History" sections of this document. You assume full responsibility for any damage caused to your system if you install and use this driver.

ATI Mobility M/M1/P driver
for BeOS R5/Intel

Copyright © 2000 Dario Accornero
All Rights Reserved
http://www.bexoft.com
mailto:bexoft@bexoft.com

Freeware
Version 1.0b6
October 6, 2000
BeDev #10183 <adario@cs.bu.edu>

THANKS TO:
Trey Boudreau of Be, Inc. -- original source code for ATI Rage support
Brian Swetland and Duncan Wilcox of Be, Inc. -- tech and moral support
Daniel Berlin -- tech help and encouragement
Chris Herborth, David Harding, Neil Timms, Michael Rutt -- beta testing
Nitya Ulaganathan of ATI Developer Relations -- tech support and docs

* Introduction.

This driver provides full 2D support for the ATI Mobility M/M1/P chipset used in many laptops. The Rage LT Pro chipset is supported too, although the stock ati.driver and ati.accelerant should take care of that.

Chipsets/machines known to work:
* Mobility M/M1/P PCI, AGP, AGP 2x SGRAM / SDRAM 1:1 / 2:1 (all based on the Rage Pro chipset)
- Dell Inspiron 7000, 7500, 3700, 3800, 5000 (old models only)
- Dell Latitude CPx J650
- Acer Travelmate 600
- Fujitsu/Siemens X-Series
- Fujitsu C4110
- Compaq Presario 1926 and 1930
- Compaq Armada V300 and M300
- IBM ThinkPad i Series 1400/1480
- IBM A20M ThinkPad

Chipsets/machines known NOT to work:
* Mobility M3 AGP, AGP 2x with any RAM type (this is based on the Rage 128 chipset)
- Dell Inspiron 4000 (using Mobility M3)
- Dell Inspiron 5000E (using Mobility M3)

Support for these machines is NOT planned. The Mobility/M3 is significantly different from the other variants to require a completely different driver. I do not own such a chipset and therefore cannot write a driver for it. Sorry, but please do not ask me to write one: I simply cannot.

The MobilityDriver is based on proprietary source code by Be, Inc., written by Trey Boudreau. However, currently the driver is not endorsed nor supported by Be, Inc. in any way. Hopefully the final version shall be merged with the stock ati.driver and ati.accelerant in future releases of the BeOS.
Please read the "Known Issues" section of this document before reporting a problem.

* Installation.

Start the Terminal application, change into the directory containing this document (which you can place anywhere on your boot disk, /boot/home is recommended), and type:

sh install.sh

Reboot your machine to install the driver.

* Uninstallation.

Start the Terminal application, change into the directory containing this document, and type:

sh uninstall.sh

Reboot your machine to uninstall the driver.

* Usage.

After having installed the driver, if your machine is supported you should use the Screen preferences panel to adjust the settings to your LCD natural panel size. Please do this at least for the first workspace: you should use smaller resolutions (what is known as "ratiometric expansion") in other workspaces, because the system boots up in the first one. Also, as all laptop owners sadly know, ratiometric expansion doesn't always look good, even on chipsets/panels that support it decently. As for bit depth, just select the highest available or whatever suits you. Example: for a typical 14" screen, select 1024x768x32-bit.
No matter how tempted you are to change the refresh rate of your LCD screen, you should never try to do that. Changing the refresh rate has a sensible meaning only on normal CRT monitors. Make sure you always select your natural rate (usually 60Hz) in the Screen preferences panel whenever you're using just the built-in LCD. Moreover, you should not select screen resolutions bigger than your LCD natural panel size. Those are reserved for connecting your laptop to an external CRT monitor. In general, remember that LCD is different from CRT.

If you run into any problems with the driver, shutdown and restart your machine (do NOT just reboot), briefly hold down the SPACE key at the boot screen, select "Safe mode", check "Disable user add-ons", continue booting, and follow the instructions above to uninstall the driver.

To adjust your VESA (VGA standard) settings and use your machine in a decent albeit slow environment (when the driver doesn't work), use the VesaAccepted utility from BeBits:
http://www.bebits.com/app/1105

To set your LCD panel to unusual resolutions, e.g. 1400x1050 on 15.1"/15.4" Dell Inspiron 5000 with Mobility P, if the driver does work you can use the ProposeMode utility from BeBits:
http://www.bebits.com/app/361

* Reporting Bugs.

If your machine appears in the unsupported list above, I don't need any bug reports. I'm aware of the issues involved but so far have been unable to solve them, even with the help of ATI. I hope to solve them in the future. On the other hand, I do not plan to add support for the Mobility M3/128 at the moment. Be, Inc. has a Rage 128 driver which could be modified to support the Mobility M3. My driver is based on a different chipset and is therefore useless for the Mobility M3. I don't even own a Mobility M3: I couldn't write a driver for it very easily. I don't know if Be plans to support the Mobility M3, so please do not ask me.
Having said this, if you experience a problem not shown below or have a new unsupported machine, I would like to obtain some output from your machine.
- If you have another machine and a suitable serial cable, you can connect your laptop on COM1 at 19200 baud, 8N1, no flow control to another machine running a serial connection program. Then, as soon as the boot loader starts up, briefly hold down the F1 key: kernel debugging output will be enabled and it will start to appear on the remote machine.
- If you cannot connect to another machine via serial cable, first make sure that you have the file ~/config/settings/kernel/drivers/kernel . If you don't, launch a Terminal and type:
  cd ~/config/settings/kernel/drivers
  cp sample/kernel ./kernel
Now, open the kernel file, scroll down to the end of the document, and enable the syslog_debug_output option by removing the initial '#' character. Save the file, shutdown and restart your machine.
To collect output, just wait until the boot process. Then, try to switch to a different workspace or to run the Screen preferences panel and set a resolution close to the LCD natural panel size. Note that you might not be able to use the machine properly or see the screen contents, so you might just want to wait until the boot is over and then shutdown again.
If you have connected two machines, save the contents of the serial connection program console to a text file and send it to me at the address above.
If you are using the syslog_debug_output option, disable it in the file mentioned above, and send me the file /boot/var/log/syslog . Note that without kernel debugging output, obtained either way, your bug report would be useless to me. That is, don't just tell me "on machine x the driver doesn't work". I cannot hope to even look at the problem without kernel debugging output.

* Known Issues.

  > Some flickering artifacts on particular LCD panels (IBM ITX, confirmed G06 and S93), fortunately limited to specific resolution/depth combinations (confirmed 640x480x32, 1152x864x32, and to a lesser extent 800x600x32).
  > Some machines (both major and minor brands) have problems with the kernel driver rather than with the accelerant, so the screen may remain black: simply reboot with safe video mode and uninstall the driver.
  > If you enable power management in your kernel settings (which is still an experimental feature of the system), you will not be able to restart your machine: you will have to shutdown. This is an inconvenience but hopefully with the BeOS you don't need to reboot that often. Also, note that this problem sometimes occurs even without power management.
  > It is possible for the driver to start up with a blank screen and still be working correctly. This often happens when you connect an external CRT monitor to your laptop. In this case, you can try to switch to a different workspace (using Alt-F1..9), or you can use press Ctrl-Alt-Shift-F12 to revert back to 640x480x8-bit in the lowest refresh available.

* Version History.

1.0b6, October 6, 2000

- Added support for Mobility M/M1/P using SDRAM/SGRAM 2:1. The driver should now work on all machines using this RAM type. This includes most of the laptops previously listed as non-working, but not machines based on the Mobility/M3, support for which is not planned. Sorry.

1.0b5, October 3, 2000

- Added support for the Rage LT Pro cards (ID 0x4C50 and 0x4C51). This is not guaranteed to work on all machines.
- Fixed bug where trying to set a resolution bigger than the LCD size on an external monitor would still not work, despite the fix in version 1.0b2.
- If you encounter any new bug, please report it to me using the above instructions.

1.0b4, March 29, 2000

- BeOS R5/Intel is now required to run the driver (either Personal Edition or Pro).
- Added support for overlays, scaled blits, and transparent blits.

1.0b3, January 23, 2000

- Fixed almost all flickering on Dell Inspiron 3700's and 7500's. The fix should work for all machines that have IBM ITX LCD panels.

1.0b2, January 21, 2000

- It is now possible to set the resolution/bit depth/refresh rate of an external monitor (if one is connected to your laptop) to any combination offered by the Screen preferences panel. Note, however, that using resolutions and/or refresh rates bigger/higher than your natural LCD screen size is potentially dangerous.
- Using the ProposeMode utility, available on BeBits from another developer, it is possible to set the resolution of Dell Inspiron 7500's (the 15" screen model) to their natural size, which is 1400x1050. Simply run the above utility, adjust the X and Y fields to 1400 and 1050 respectively, select 32 bpp, and apply the changes. Note that the Screen preferences panel will NOT allow you to do this.

1.0b1, January 17, 2000

- First public release.
- Some combinations of resolution/bit depth produce visual artifacts (i.e. flickering) on particular machines (Dell Inspiron 3700 and some 7500 models). This problem will hopefully be fixed in the final release of the driver.
